package org.example.designPattern.strategyPattern7;
/*
    策略模式
    定义了一系列的算法 或 逻辑 或 相同意义的操作，并将每一个算法、逻辑、操作封装起来，而且
    使它们还可以相互替换。（其实策略模式Java中用的非常非常广泛）
    我觉得主要是为了 简化 if...else 所带来的复杂和难以维护。

 */
class ClientTestStrategy {
    public static void main(String[] args) {
        Context context;
//使用支付逻辑A
        context = new Context(new PayStrategyA());
        context.algorithmInterface();
//使用支付逻辑B
        context = new Context(new PayStrategyB());
        context.algorithmInterface();
//使用支付逻辑C
        context = new Context(new PayStrategyC());
        context.algorithmInterface();
    }
}